Copyright: CardEasy 2.2
Citation: CardEasy 2.2


Cover
  CardEasy 2.2

This help provides information on installing, configuring and using CardEasy for Windows, and on how you can obtain technical support and assistance.

Overview

•	Card Types

•	ACI_Commands

Installing CardEasy

•	Reader Configuration

Operation Guide

•	Memory Card

•	ACOS1 Card

•	Commands

•	About

Terms of conditions of use

Troubleshooting

Ordering information

To see the contents of any of the topics shown above, click on the topic. To finish using Help, hold down the <Alt> key and press <F4>, or if you are using Windows 95, simply press <Esc>.


Overview

CardEasy is a software to allow you to examine and manipulate the contents inside a smart card easily. In order to use CardEasy, you must have the ACR10/ACR15/ACR20 smart card reader from Advanced Card Systems Ltd. CardEasy version 2.2 now can support up to 22 different types of memory cards from various manufacturers including Siemens, SGS-Thomson, Gemplus, Atmel and Xicor. Beside these memory cards, CardEasy can read / write microprocessor cards running the T=0 and T=1 protocol. If the inserted card is an ACOS1 MCU card, there is a dedicated page for the easy operation of this card.

CardEasy is making use of the ACSR20 interface library to access the smart card reader. Basically, if you are using the MCU card, you need to have the command set description before you can perform any meaningful operation on the cards. While for the memory card type, you can use the ACI commands set provided by the ACSR20 interface library to operate the cards. Please refer to the card specification for the detail operation of the card. CardEasy is just providing a convenient user interface for the user to issue commands to the ACR reader and the inserted card.


What’s new in version 2.2

CardEasy version 2.2 is a major upgrade of the previous release version 1.0. Beside the original functions provided in version 1.0, it contains the following added features:

•	Support ACOS1 MCU smart card

•	Support Xicor’s X76F041/X76F640/X76F128/X76F100 memory card

•	Enable the reading/updating of the counter value in the token counter card

•	Enhanced User Interface

•	Memory card functions are reorganized to provide a consistent and easy to use interface

•	Data can be inputted in both Hexadecimal or Ascii format


Supporting Card Type

Following is a list of all supporting card types by the CardEasy software.

AM104 / AT88SC06 / GPM103 / ST1305 / SLE4406

AM221 / GAM226 / SLE4436

AM416 / GPM416 / SLE4404

GPM896

AT88SC101

AT88SC102

AM8KP / SLE4418

AM8KS / SLE4428

AM2KP / SLE4432

AM2KS / SLE4442

AMXKF series / AT24CXX series / GFMXK series / ST14C0XC series

AM64KP

AT88SC1604

AM256

AM4KP

ST13333 / ST1335

X76F041

X24645

X76F128 / X76F640

X76F100

ACOS1 MCU Card

MCU Smart Card (T=0 / T=1)


ACI Commands

Following are the commands for the manipulation of memory card.

ACI_Read

ACI_Write

ACI_SetFuse

ACI_Verify

ACI_WritePr

ACI_ChangePIN

ACI_Erase

ACI_WriteCarry

ACI_Authenticate

ACI_SetProtect

ACI_ReadProtect

ACI_SetHE

ACI_LockProtect

ACI_ClearProtect

ACI_WriteAll

ACI_EraseAll

ACI_Reactivate

ACI_CardOptions

ACI_BlowFuse

While the ACSR20 library are keep on evolving, please refer for the latest ACSR20 reference manual for the final details.


AM104 / AT88SC06 / GPM103 / ST1305 / SLE4406

This type of memory card has the following structure during Personalization Mode

Starting byte	Ending byte	Description
0x00	0x02	Manufacturer Area
0x03	0x07	Issuer Area
0x08	0x08	Logical Fuse (located in MSB)
0x09	0x09	TC Presentation Counter
0x0A	0x0C	Transport Code

After fuse blew, the card will be in count down mode and has the following structure

Starting byte	Ending byte	Description
0x00	0x02	Manufacturer Area
0x03	0x07	Issuer Area
0x08	0x0C	5-Stage Octal Abacus Counter

Applicable functions

ACI_Read

ACI_Write

ACI_WriteCarry

ACI_Verify


AM221 / GAM226 / SLE4436

This type of memory card has the following structure during Personalization Mode

Starting byte	Ending byte	Description
0x00	0x02	Manufacturer Area
0x03	0x07	Issuer Area
0x08	0x08	Logical Fuse (bit 7)
0x09	0x09	TC Presentation Counter
0x0A	0x0C	Transport Code
0x0D	0x0D	Backup bits (bit 3, bit 2, bit 1, bit 0) Authentication control (bit 7, bit 6)
0x0E	0x0F	Auxiliary data area
0x10	0x16	Authentication key 1
0x17	0x27	Reserve
0x28	0x30	Authentication key 2

After fuse blew, the card will be in count down mode and has the following structure

Starting byte	Ending byte	Description
0x00	0x02	Manufacturer Area
0x03	0x07	Issuer Area
0x08	0x0C	5-Stage Octal Abacus Counter
0x0D	0x0D	Backup bits (bit 3, bit 2, bit 1, bit 0) Authentication control (bit 7, bit 6)
0x0E	0x0F	Auxiliary data area
0x10	0x16	Authentication key 1
0x17	0x27	Reserve
0x28	0x30	Authentication key 2

Applicable functions

ACI_Read

ACI_Write

ACI_WriteCarry

ACI_Verify

ACI_Authenticate


AM416 / GPM416 / SLE4404

This type of memory card has the following structure

Starting byte	Ending byte	Description
0x00	0x01	Manufacturer Area
0x02	0x07	Issuer Area
0x08	0x09	Card Secret Code
0x0A	0x0B	Error Counter
0x0C	0x0D	Protected Area
0x0E	0x27	Application Area
0x28	0x2B	Erase Code
0x2C	0x33	Erase Counter
0x3C	0x3C	Personalization Fuse

This card type has a similar security mechanism as the GPM896. Please see the GPM896 card type section for more information.

Applicable functions

ACI_Read

ACI_Write

ACI_Erase

ACI_Verify

ACI_SetFuse


GPM896

This type of memory card has the following structure

Starting byte	Ending byte	Description
0x00	0x01	Manufacturer Area
0x02	0x09	Issuer Area
0x0A	0x0B	Card Secret Code (CSC)
0x0C	0x0D	Error Counter
0x0E	0x15	Protected Area
0x16	0x35	Application Area 1 (bit7 =PREN1, bit6 =RDEN1)
0x36	0x3B	Erase Code 1 (EC1)
0x3C	0x5B	Application Area 2 (bit7 =PREN2, bit6 =RDEN2)
0x5C	0x5F	Erase Code 2 (EC2)
0x60	0x6F	Area 2 Erase Counter
0x7C	0x7C	Personalization Fuse

Depending on the status of the fuse, the memory area have different security attributes.

Case when the fuse is not blown

Memory Area	Read	Erase	Write
Manufacturer Area	Enabled	Disabled	Disabled
Issuer Area	Enabled	Enabled if CSC=1	Enabled if CSC=1
Card Secret Code	Enabled if CSC=1	Enabled if CSC=1	Enabled if CSC=1
Error Counter	Enabled	Enabled if CSC=1	Enabled
Protected Area	Enabled	Enabled if CSC=1	Enabled if CSC=1
Application Area 1	Enabled if RDEN1 = 1 or CSC=1	Enabled if CSC=1	Enabled if CSC=1
Erase Code 1	Enabled if CSC=1	Enabled if CSC=1	Enabled if CSC=1
Application Area 2	Enabled if RDEN2 = 1 or CSC=1	Enabled if CSC=1	Enabled if CSC=1
Erase Code 2	Enabled if CSC=1	Enabled if CSC=1	Enabled if CSC=1
Area 2 Erase Counter	Enabled	Enabled if CSC=1	Enabled

Case when the fuse is blown

Memory Area	Read	Erase	Write
Manufacturer Area	Enabled	Disabled	Disabled
Issuer Area	Enabled	Disabled	Disabled
Card Secret Code	Disabled	Enabled if CSC=1	Enabled if CSC=1
Error Counter	Enabled	Enabled if CSC=1	Enabled
Protected Area	Enabled	Enabled if CSC=1	Enabled if CSC=1
Application Area 1	Enabled if RDEN1 = 1 or CSC=1	Enabled if CSC=1 and EC1 = 1	Enabled if  CSC = 1 and PREN1 = 1
Erase Code 1	Disabled	Disabled	Disabled
Application Area 2	Enabled if RDEN2 = 1 or CSC=1	Enabled if CSC=1 and EC2=1 and EC1=1	Enabled if  CSC = 1 and PREN2 = 1
Erase Code 2	Disabled	Disabled	Disabled
Area 2 Erase Counter	Enabled	Disabled	Enabled

When the fuse is not blown physically, the cases of fuse blown / fuse not blown can be emulated by using the AC_SetFuse command. Setting fuse pin to high will emulate the case of “fuse not blown”. Setting fuse pin to low will emulate the case of “fuse blown”.

Applicable functions

ACI_Read

ACI_Write

ACI_Erase

ACI_Verify

ACI_SetFuse


AT88SC101

This type of memory card has the following structure

Starting byte	Ending byte	Description
0x00	0x01	Fabrication Zone (FZ)
0x02	0x09	Issuer Zone (IZ)
0x0A	0x0B	Security Code (SC)
0x0C	0x0D	Security Code Attempts Counter (SCAC)
0x0E	0x15	Code Protected Zone (CPZ)
0x16	0x95	Application Zone 1 (AZ1)
0x96	0x99	Application Zone 1 Erase Key (EZ1)
0x9A	0xA9	Erase Counter (EC)
0xAA	0xAB	Memory Test Zone (MTZ)

This card type has a similar security mechanism as the GPM896. Please see the GPM896 card type section for more information.

Applicable functions

ACI_Read

ACI_Write

ACI_Erase

ACI_Verify

ACI_SetFuse

ACI_BlowFuse


AT88SC102

This type of memory card has the following structure

Starting byte	Ending byte	Description
0x00	0x01	Fabrication Zone (FZ)
0x02	0x09	Issuer Zone (IZ)
0x0A	0x0B	Security Code (SC)
0x0C	0x0D	Security Code Attempts Counter (SCAC)
0x0E	0x15	Code Protected Zone (CPZ)
0x16	0x55	Application Zone 1 (AZ1)
0x56	0x5B	Application Zone 1 Erase Key (EZ1)
0x5C	0x9B	Application Zone 2 (AZ2)
0x9C	0x9F	Application Zone 2 Erase Key (EZ2)
0xA0	0xB8	Erase Counter (EC)
0xB9	0xBA	Memory Test Zone (MTZ)

This card type has a similar security mechanism as the GPM896. Please see the GPM896 card type section for more information.

Applicable functions

ACI_Read

ACI_Write

ACI_Erase

ACI_Verify

ACI_SetFuse

ACI_BlowFuse


AM8KP / SLE4418

The chip contains an EEPROM organized 1024 x 8 bit offering the possibility of programmable write protection for each byte. Reading of the whole memory is always possible. The memory can be written and erased byte by byte. Input data and the contents of the addressed byte are compared so that only bits are written which were not written before. Erasing is only possible byte-wise, even if only one bit is to be erased, but bits may be written individually. Each byte can be write/erase-protected individually by setting a protect bit (EEPROM -> ROM). The protect bit is only one time programmable and cannot be erased.

Applicable functions

ACI_Read

ACI_Write

ACI_WritePr


AM8KS / SLE4428

In addition to the function of AM8KP, this version has a PSC verification logic. All the memory, except for the PSC, can always be read. The memory can be written or erased only after PSC verification. The error counter can always be written. After eight successive incorrect entries the error counter will block any subsequent attempt at PSC verification and hence any possibility to write and erase.

Applicable functions

ACI_Read

ACI_Write

ACI_WritePr

ACI_Verify


AM2KP / SLE4432

The chip consists of 256 x8 bit EEPROM main memory and a 32-bit protection memory with PROM functionality. The first 32 bytes can be irreversibly protected against data change by writing the corresponding bit in the protection memory. Each data byte in the address range is assigned to one bit of the protection memory and has the same address as the data byte in the main memory which it is assigned to. Once written the protection bit cannot be erased.

Applicable functions

ACI_Read

ACI_Write

ACI_WritePr


AM2KS / SLE4442

In addition to the functions of AM2KP, this chip provides a security code logic which controls the write/erase access to the memory. For this purpose the AM2KS contains a 4-byte security memory with an error counter EC (bit0 to bit2) and 3 bytes reference data. These 3 bytes as a whole are called programmable security code (PSC). After power on the whole memory, except the reference data, can only be read. Writing and erasing is only possible after a successful comparison of verification data with the internal reference data. After three successive unsuccessful comparisons the error counter blocks any subsequent attempt, and hence any possibility to write and erase.

Applicable functions

ACI_Read

ACI_Write

ACI_WritePr

ACI_ChangePIN

ACI_Verify

ACI_ReadProtect


AMXKF series / AT24CXX series / GFMXK series / ST14C0XC series

This type of card is usually known as IIC card. It doesn’t have any security protection. It is a piece of pure EEPROM memory that allow free reading and free writing. There are different card models for all of the series according to their different memory size. For example AM1KF is of size 128 bytes, AM2KF is of size 256 bytes and AM4KF is of size 512 bytes.

Applicable functions

ACI_Read

ACI_Write

ACI_CardOptions


AM64KP

Please contact ACS for the detail information

Application functions

ACI_Read

ACI_Write

ACI_CardOptions

ACI_ReadProtect

ACI_SetProtect

ACI_SetHE


AT88SC1604

The AT88SC1604 provides 15704 bits of serial EEPROM in four application zones. Additional EEPROM memory and logic provide security for smart card applications. The memory structure is similar to GPM896 and its structure is as follow.

Starting byte	Ending byte	Description
0x00	0x01	Fabrication Zone (FZ)
0x02	0x09	Issuer Zone (IZ)
0x0A	0x0B	Security Code (SC)
0x0C	0x0C	Security Code Attempts Counter (SCAC)
0x0D	0x14	Code Protected Zone (CPZ)
0x15	0x16	Zone 1 Security Code (SC1)
0x17	0x17	Zone 1 SC1 Attempts Counter (S1AC)
0x18	0x19	Zone 1 Erase Key (EZ1)
0x1A	0x1A	Zone 1 EZ1 Attempts Counter (E1AC)
0x1B	0x4C5	Zone 1
0x4C6	0x4C7	Zone 2 Security Code (SC2)
0x4C8	0x4C9	Zone 2 Erase Key (EZ2)
0x4CA	0x4CA	Zone 2 EZ2 Attempts Counter (E2AC)
0x4CB	0x5CA	Zone 2
0x5CB	0x5CC	Zone 3 Security Code (SC3)
0x5CD	0x5CE	Zone 3 Erase Key (EZ3)
0x5CF	0x5CF	Zone 3 EZ3 Attempts Counter (E3AC)
0x5D0	0x6CF	Zone 3
0x6D0	0x6D1	Zone 4 Security Code (SC4)
0x6D2	0x6D3	Zone 4 Erase Key (EZ4)
0x6D4	0x6D4	Zone 4 EZ4 Attempts Counter (E4AC)
0x6D5	0x7D4	Zone 4
0x7D5	0x7D6	Memory Test Zone (MTZ)
0x7F4	0x7F4	Fuse

Applicable functions

ACI_Read

ACI_Write

ACI_Erase

ACI_Verify

ACI_SetFuse

ACI_BlowFuse


AM256

The AM256 card is a 256 bit securable EEPROM organized into 16 registers of 16 bits. All read / write on the card is performed using the unit of word (2 bytes). Selected words can be protected against data changes by programming a Protect Register or permanently locked making all future attempts to change the data impossible.

Applicable functions

ACI_Read

ACI_Write

ACI_Erase

ACI_ReadProtect

ACI_SetProtect

ACI_ClearProtect

ACI_LockProtect

ACI_WriteAll


AM4KP

The AM256 card is a 4096 bit securable EEPROM organized into 256 registers of 16 bits. All read / write on the card is performed using the unit of word (2 bytes). Selected words can be protected against data changes by programming a Protect Register or permanently locked making all future attempts to change the data impossible.

Application functions

ACI_Read

ACI_Write

ACI_ReadProtect

ACI_SetProtect

ACI_ClearProtect

ACI_LockProtect

ACI_WriteAll

ACI_EraseAll


ST1333/ST1335

This type of memory card has the following structure during Personalization Mode

Starting byte	Ending byte	Description
0x00	0x01	Circuit ID Area
0x02	0x07	Card ID Area
0x09	0x09	TC Presentation Counter
0x0A	0x0C	Transport Code
0x10	0x18	Authentication secret key
0x36	0x39	Anti-tearing flags
0x3A	0x40	User defined Area

After fuse blew, the card will be in count down mode and has the following structure

Starting byte	Ending byte	Description
0x00	0x01	Circuit ID Area
0x02	0x07	Card ID Area
0x08	0x0C	Counters
0x0E	0x0F	Certificate
0x10	0x18	Authentication secret key
0x36	0x39	Anti-tearing flags
0x3A	0x40	User defined Area

Applicable functions

ACI_Read

ACI_Write

ACI_WriteCarry

ACI_Erase

ACI_Verify

ACI_Authenticate


X76F041

The X76F041 is a password access security supervisor device, containing four 128 x 8 bit SecureFlash arrays. Access can be controlled by three 64-bit programmable passwords, one for read operations, one for write operations and one for device configuration.

Five 8-bit configuration registers are used to configure the X76F041. They can be read out using the ACI_ReadProtect command. They are appeared in the following order

Position	Name	Meaning
1	ACR1	Array Control Register 1
2	ACR2	Array Control Register 2
3	CR	Configuration Register
4	RR	Retry Register
5	RC	Retry Counter

For the detail operation of the X76F041, please see the X76F041 detail specification from the Xicor’s data book.

Applicable functions

ACI_Read

ACI_Write

ACI_ChangePIN

ACI_Verify

ACI_ReadProtect

ACI_SetProtect

ACI_WriteAll

ACI_EraseAll


X24645

The X24645 is organized as a 8192 x 8 bit memory array having a protocol very similar to the IIC type. There are two device select inputs (S1, S2) inside the smart card chip that having a value (0,1) fixed inside. For the sake of generalization, S1 and S2 are part of the address field (the third MSB and the second MSB respectively) and the MSB of the address field is always fixed at 1 ( For IIC card, MSB is fixed with 0) As a result, the 8K bytes of memory of a typical X24645 smart card can be found at address ranging from 0xC000 to 0xDFFF.  Care must be taken because X24645 has the write protect register in the last byte of the address space (0xDFFF). Failure to enable the write latch will not be able to read / write data from the card. For the detail, please see the X24645 detail specification from the Xicor’s data book.

Applicable functions

ACI_Read

ACI_Write


X76F128/X76F640

The X76F128 contains one 16K bytes secure EEPROM array (Array0) and one 64 bytes secure EEPROM array (Array1). The X76F640 contains one 8K bytes secure EEPROM array (Array0) and one 32 bytes secure EEPROM array (Array1). A read password and a write password (both are 8 bytes long) are required for the access into each of this memory array. Together with the RESET password which authorize the “ACI_WriteAll” and the “ACI_Reactivate” commands, there are totally five passwords for use by this particular card type – namely, “Read Array 0 Password”, “Read Array 1 Password”, “Write Array 0 Password”, “Write Array 1 Password” and “Reset Password”.

In order to read (ACI_Read) the memory content of Array0, the application must have the “Read Array 0 Password” verify (ACI_Verify) OK. Similarly, for the writing (ACI_Write) of data into the memory content of Array0, the application must have the “Write Array 0 Password” verify OK. The same restriction is applied also in the case of Array1. For the “Reset Password”, once it is verified OK, the command “ACI_WriteAll” can be used to write the complete card content with zero and the command “ACI_CardReset” can be used to reset the retry counter and reactive the card. When a password is verified OK, it can be changed using the “ACI_ChangePIN” command.

For the X76F128, array 0 can be accessed in the address range $0000 - $3FFF and array 1 can be accessed in the address range $8000 - $803F. For the X76F640, array 0 can be accessed in the address range $0000 - $1FFF and array 1 can be accessed in the address range $8000 - $801F.

Applicable functions

ACI_Read

ACI_Write

ACI_Verify

ACI_ChangePIN

ACI_WriteAll

ACI_Reactivate


X76F100

The X76F100 memory array consists of fourteen 8-byte sectors (total 112 bytes) in which the reading is protected by a 8-byte read password and the writing is protected by a 8-byte write password. Write access to the array always begins at the first address of the sector (i.e. address is a multiple of 8) and the length must be a multiple of 8. The retry counter allows 8 accesses with an invalid password. If the retry counter overflows, the memory area and both of the passwords are cleared to zero. If a correct password is received prior to retry counter overflow, the retry counter is reset and access is granted. For the changing of either one of the password  (ACI_ChangePIN), it is required to have the write password to be verified OK.

Applicable functions

ACI_Read

ACI_Write

ACI_Verify

ACI_ChangePIN


MCU Smart Card (T=0 / T=1)

All microprocessor based smart card using the T=0 or T=1 protocol can be communicated using the standard APDU structure. Please refer to the card specification for the detail coding of the APDU.


ACI_Read

The ACI_Read command is available for all types of memory card. The parameter structure is defined as follows:

Field	Value	Description
CLA	0x00	Instruction class
INS	ACI_Read	Instruction code for the read command
P1	variable	MSB of the starting address to be read
P2	variable	LSB of the starting address to be read
Lc	0x00	No input data is required for this command
DataIn	-	Don't care
Le	variable <= 32	The number of bytes to be read from the card For AM256 card, this value will rounded to the next even number


ACI_Write

The ACI_Write command is available for all types of memory cards. The parameter structure is defined as follows:

Field	Value	Description
CLA	0x00	Instruction class
INS	ACI_Write	Instruction code for the write command
P1	variable	MSB of the starting address to be written
P2	variable	LSB of the starting address to be written
Lc	variable  <= 32	The number of bytes to be written into the card
DataIn	variable	Lc bytes of data to be written into the card
Le	0x00	No response data expected from the card. For AM256 card, this value will rounded to the next even number


ACI_SetFuse

The ACI_SetFuse command is available for some memory cards with the set fuse capability. The parameter structure is defined as follow:

Field	Value	Description
CLA	0x00	Instruction class
INS	ACI_SetFuse	Instruction code for the set fuse command
P1	0x00 or 0x01 or 0xFF	0x00 = Set Fuse PIN to "not connected" (high impedance) 0x01 = Set Fuse PIN to high (5V) 0xFF = Set Fuse PIN to low (0V)
P2	-	Don't care
Lc	0x00	No input data for this command
DataIn	-	Don't care
Le	0x00	No output data expected from this command


ACI_Verify

The ACI_Verify command is available for some memory cards with the secret code capability. It is not enough to check alone the code returned from the function AC_ExchangeAPDU to determine that the verification is successful or not. Application program must check the data returning back from the card for the interpretation of whether the verification is successful or not. Please see the programmer notes for detail.

Field	Value	Description
CLA	0x00	Instruction class
INS	ACI_Verify	Instruction code for the verify command
P1	variable	Key Index, see the table below for the description
P2	-	Don't Care
Lc	variable	Number of bytes of the key
DataIn	variable	Lc bytes of key value to be verified by the card
Le	variable	Case when : - AC_AM2KS : Le = 4 AC_AM8KS : Le = 3 otherwise : Le = 0

Depending on the card type of the current session,  Key Index (P1) can contain any of the following values.

Card Type	Key Index	Length (bytes)	Description
AC_AM104	0x00	3	Transport code
AC_AM221	0x00	3	Transport code
AC_SLE4404	0x00	2	Card secure code (GPM416) / security code (SLE4404)
	0x01	4	Erase code (GPM416) / system code (SLE4404)
AC_GPM896	0x00	2	Card secure code
	0x01	6	Erase code 1
	0x02	4	Erase code 2
AC_AT101	0x00	2	Security code
	0x01	4	Zone 1 erase key
AC_AT102	0x00	2	Security code
	0x01	6	Zone 1 erase key
	0x02	4	Zone 2 erase key
AC_AT1604	0x00	2	Security code
	0x01	2	Zone 1 erase key
	0x02	2	Zone 2 erase key
	0x03	2	Zone 3 erase key
	0x04	2	Zone 4 erase key
	0x05	2	Zone 1 security code
	0x06	2	Zone 2 security code
	0x07	2	Zone 3 security code
	0x08	2	Zone 4 security code
AC_AM2KS	0x00	3	Security code
AC_AM8KS	0x00	2	Security code
AC_X76F041	0x00	8	Write password
	0x01	8	Read password
	0x02	8	Configuration password
AC_X76F128	0x01	8	Read array 0 password
Or	0x02	8	Read array 1 password
AC_X76F640	0x03	8	Write array 0 password
	0x04	8	Write array 1 password
	0x05	8	Reset password
AC_X76F100	0x00	8	Write password
	0x01	8	Read password


ACI_WritePr

The ACI_WritePr command is available for some memory cards with protected memory logic. The parameter structure is defined as follows:

Name	Value	Description
CLA	0x00	Instruction class
INS	ACI_WritePr	Instruction code for the write protect command
P1	variable	MSB of the starting address to be written
P2	variable	LSB of the starting address to be written
Lc	variable  <= 32	The number of bytes to be written into the card
DataIn	variable	Lc bytes of data to be written into the card
Le	0x00	No response data expected from the card


ACI_ChangePIN

The ACI_ChangePIN command is available for the AM2KS / X76F041 / X76F128 / X76F640 card. For the AM8KS, it is required to use the ACI_Write command to do the change PIN operation. The parameter structure of ACI_ChangePIN is defined as follows:

Field Name	Value	Description
CLA	0x00	Instruction class
INS	ACI_ChangePIN	Instruction code for the change PIN command
P1	variable	Please refer to the table in command ACI_Verify for the definition of this field
P2	-	Don't Care
Lc	variable	The length of the PIN
DataIn	variable	The new PIN value
Le	0x00	No response data expected from the card

In order for the password (PIN) of X76F041 card can be changed, the application must verify the old password correctly before the ACI_ChangePIN command can be executed. If the read password is verified, only the read password can be changed. If the write password is verified, only the write password can be changed. However, when the configuration password is verified, all three passwords can be changed.


ACI_Erase

The ACI_Erase command is available for some memory cards with the erasing capability. The parameter structure is defined as follows:

Name	Value	Description
CLA	0x00	Instruction class
INS	ACI_Erase	Instruction code for the erase command
P1	variable	MSB of the starting address to be erased
P2	variable	LSB of the starting address to be erased
Lc	variable  <= 32	The number of bytes to be erased from the card
DataIn	-	Don't care
Le	0x00	No response data expected from the card


ACI_WriteCarry

The ACI_WriteCarry command is available for EEPROM non-reloadable token counter cards. The parameter structure is defined as follows:

Name	Value	Description
CLA	0x00	Instruction class
INS	ACI_WriteCarry	Instruction code for the write carry command
P1	0x01 or 0x03	0x01 =  write carry without backup 0x03 = write carry with backup
P2	variable	LSB of the starting address to be written
Lc	0x01	Only one byte at a time is allowed for this command
DataIn	variable	DataIn[0] contains the byte that is to be written into the card
Le	0x00	No response data expected from the card


ACI_Authenticate

The ACI_Authenticate command is available for some memory cards which can generate a card authentication certificate. The parameter structure is defined as follows:

Field	Value	Description
CLA	0x00	Instruction class
INS	ACI_Authenticate	Instruction code for the authenticate command
P1	variable	Case SLE4436 :   0x00 = Use Key 1   0x01 = Use Key 2 Case ST1333, ST1335:   0x00 always
P2	variable	Case SLE4436: Number of CLK pulses to be supplied to the card for the computation of each bit of the authentication certificate Case ST1333,ST1335 : 0x00 always
Lc	variable	Case SLE4436 :  Lc = 0x06 Case ST1333, ST1335 : Lc = 0x04
DataIn	variable	Challenge data to be presented to the card
Le	variable	Authentication certificate Case SLE4436 :  Le = 0x02 Case ST1333, ST1335 : Le = 0x01


ACI_SetProtect

The ACI_SetProtect command is available for the XIIC card, the AM256 card, the AM4KP card and the X76F041 card. For the XIIC, AM256 and the AM4KP card, it can be used to set the starting block of the write-protection memory area and for the case of XIIC card, it can be used to set the number of protection block also. Finally for the X76F041, it can be used to set the configuration register value as described in the ACI_ChangePIN paragraph. The parameter structure is defined as follow:

Field	Value	Description
CLA	0x00	Instruction class
INS	ACI_SetProtect	Instruction code
P1	variable	Case when : - XIIC : P1 = start protecting block (0  P1  0x0F) AM256 : P1 = start protecting block AM4KP : P1 = start protecting block X76F041 : P1 = 0
P2	variable	Case when : - XIIC : P2 = no of blocks to be protected  (0  P2  0x0F) AM256, AM4KP, X76F041  : P2 = 0
Lc	variable	Case when : - XIIC, AM256, AM4KP : Lc = 0 X76F041 : Lc = 5
DataIn	variable	Case when : - XIIC, AM256, AM4KP : No input data X76F041 : Configuration Register
Le	0x00	No output data expected from this command


ACI_ReadProtect

The ACI_ReadProtect command is available for the XIIC card, the AM256 card, the AM2KS, the AM4KP card and the X76F041 card. It can be used to read the block security status and the block number of the high endurance memory block from the XIIC card or it can be used to read the write protection register for the AM256 card and the AM4KP card or it can be used to read the configuration register for the X76F041 card or it can be used to read the security memory for the AM2KS card. The parameter structure is defined as follow:

Field	Value	Description
CLA	0x00	Instruction class
INS	ACI_ReadProtect	Instruction code
P1	-	Don’t care
P2	-	Don't care
Lc	0x00	No input data for this command
DataIn	-	No input data
Le	variable	Case when : - XIIC : Le = 3 AM256 : Le = 1 AM4KP : Le = 1 X76F041 : Le = 5 AM2KS : Le=4
For XIIC card, this command will response with a three bytes message containing the following information.

Byte position	Name	Meaning
1	START	Number of first protected block
2	BLK_CNT	Number of blocks protected from block # start
3	HE_BLK	Block number of the High Endurance memory block
For AM2KS card, this command will response with a four bytes message containing security memory of the following information.

Byte position	Name	Meaning
1	ERR_CNT	Error Counter for SC presentation
2-4	SC	Three bytes security code (Visible only after successful security code verification)
For X76F041 card, this command will response with a five bytes message containing the configuration register information. For the details meaning of each byte, please refer back to the technical specification of the X76F041 chip.

Byte position	Name	Meaning
1	ACR1	Array Control Register 1
2	ACR2	Array Control Register 2
3	CR	Configuration Register
4	RR	Retry Register
5	RC	Retry Counter


ACI_SetHE

The ACI_SetHE command is available for the XIIC card only. It can be used to relocate the High Endurance memory block to the specified block address. The parameter structure is defined as follow:

Field	Value	Description
CLA	0x00	Instruction class
INS	ACI_SetHE	Instruction code
P1	0  P1  0x0F	New block number of the High Endurance memory block
P2	-	Don’t care
Lc	0x00	No input data for this command
DataIn	-	No input data
Le	0x00	No output data expected from this command


ACI_LockProtect

The ACI_LockProtect command is available for the AM256 card and the AM4KP card only. It can be used to disable access to the write-protection register irreversibly. The contents of the write-protection register is not changed and the currently write-protection memory area cannot be modified any more. The parameter structure is defined as follow:

Field	Value	Description
CLA	0x00	Instruction class
INS	ACI_LockProtect	Instruction code
P1	0x00	must be zero
P2	0x00	must be zero
Lc	0x00	No input data for this command
DataIn	-	No input data
Le	0x00	No output data expected from this command


ACI_ClearProtect

The ACI_ClearProtect command is available for the AM256 card and the AM4KP card only. It can be used to set all memory address to “not write-protected”. The parameter structure is defined as follow:

Field	Value	Description
CLA	0x00	Instruction class
INS	ACI_ClearProtect	Instruction code
P1	0x00	must be zero
P2	0x00	must be zero
Lc	0x00	No input data for this command
DataIn	-	No input data
Le	0x00	No output data expected from this command


ACI_WriteAll

The ACI_WriteAll command is available for the AM256 / AM4KP / X76F041 / X76F128 / X76F640. For the case of AM256 card and the AM4KP card, it can be used to fill the complete card memory with the specific value. For the X76F041 card, it can be used to fill the complete card with the value 0x00. For the case of X76F128 and X76F640 card, prior to using this command it must have the “Reset Password” being verified OK. The parameter structure is defined as follow:

Field	Value	Description
CLA	0x00	Instruction class
INS	ACI_WriteAll	Instruction code
P1	0x00	must be zero
P2	0x00	must be zero
Lc	variable	Case when : - AM256, AM4KP : Lc = 2 X76FXXX : Lc = 8
DataIn	variable	Case when : - AM256, AM4KP : data to be filled X76F041 : configuration password
Le	0x00	No output data expected from this command


ACI_EraseAll

The ACI_EraseAll command is available for the AM4KP card and the X76F041 card only. It can be used to erase the whole card memory with the value 0xFF. The parameter structure is defined as follow:

Field	Value	Description
CLA	0x00	Instruction class
INS	ACI_WriteAll	Instruction code
P1	0x00	must be zero
P2	0x00	must be zero
Lc	0x00	no input data
DataIn	variable	no input data
Le	0x00	No output data expected from this command


ACI_Reactivate

The ACI_Reactivate command is available for the X76F128 card and the X76F640 card only. It can be used to erase the retry counter and reactivate the card. This command is valid only after the “Reset Password” is verified OK. The parameter structure is defined as follow:

Field	Value	Description
CLA	0x00	Instruction class
INS	ACI_Reactivate	Instruction code
P1	0x00	must be zero
P2	0x00	must be zero
Lc	0x00	no input data
DataIn	variable	no input data
Le	0x00	No output data expected from this command


ACI_CardOptions

The ACI_CardOptions command is available for the IIC card and the XIIC card only. It can be used to change the page size and the chip select address bits. The parameter structure is defined as follow:

Field	Value	Description
CLA	0x00	Instruction class
INS	ACI_CardOptions	Instruction code
P1	Bitmap for this byte is: xAAAxPPP	AAA = Chip select address bits. PPP = Page size where 000 = 4 bytes 001 = 8 bytes 010 = 16 bytes 011 = 32 bytes 100 = 64 bytes 101 = 64 bytes 110 = 64 bytes 111 = 64 bytes
P2	-	Don't care
Lc	0x00	No input data for this command
DataIn	-	No input data
Le	0x00	No output data expected from this command


ACI_BlowFuse

The ACI_BlowFuse command is available for the AT101, AT102 and AT1604 cards only. It can be used to blow the fuse of a card. The parameter structure is defined as follow:

Field	Value	Description
CLA	0x00	Instruction class
INS	ACI_BlowFuse	Instruction code
P1	variable	MSB of the starting address of the fuse
P2	variable	LSB of the starting address of the fuse
Lc	0x00	No input data for this command
DataIn	-	No input data
Le	0x00	No output data expected from this command


Install CardEasy
Installing CardEasy

Before installing CardEasy into your system, you need to know what hardware and software are required for the running of this software.

Software Requirement

Hardware Requirement

Please follow the following instructions for the installation and running of CardEasy.

1. 	Close all unrelated applications

2. 	Connect the ACR reader properly according to the installation guide

3. 	Run SETUP.EXE from the CardEasy installation diskette

4. 	After installation, double click the CardEasy to start

5. 	Select the correct reader configuration when prompted

6. 	If everything is OK, check the reader capabilites in the “About” page

Note : The read/write capabilities of CardEasy on specific card type is determined by the card reader. For example, if you are using ACR10, CardEasy will be limited to the operations on the memory card type only. If you are using ACR15, CardEasy will be limited to the MCU card type and some selective memory card types. Please refer to the ACRXX reference manual for the list of supporting card type. Althernatively, you can examine the list of supporting card types of the connecting reader via the “About” page.


Microsoft Windows 95  or

Microsoft Windows NT 4.0


ACR10 reader

ACR15 reader

ACR20 reader

 (To get the reader, please contact ACS)


Reader Configuration

Whenever CardEasy cannot detect there is an ACR reader connected in the speicified communication port, the following screen will appear and the user is responsible for the entering of the correct configuration.

The first selection box specified the communication port that connected with the reader.

The second selection box specified the type of reader that you are using. If you are not sure which type of reader you are using, select ‘Auto detect’ will have all it done automatically.

Note: This dialog box will not be appeared when CardEasy is successfully connected with the reader.


Operation Guide

The user interface of CardEasy is mainly divided into four tabbed pages. They are:

Memory Card	This page assumed the inserted card is a memory card. It allow the user to play with the memory card with a set of memory card commands
ACOS1	This page assumed the inserted card is an ACOS1 MCU card. It allow the user to explore the capabilities of the ACOS1 card with a user friendly interface.
Commands	This page play the reader/card commands directly using the programming interface. It is designed for the programmer to test out the reader/card commands interactively.
About	This page tells the user the capabilities and status of the currently connected reader.

Beside this four tabbed pages, there is a communication window in the bottom part of the main window showing all the communication parameters between CardEasy and the underlying ACSR20 library . By inspecting the command and response pair in this window, user can help to understand the internal working of CardEasy more easily.


Memory Card

By selecting correctly the card type of the currently inserted card and then the area zone within that particular card type, the data content inside this area will be read out automatically and displaying in the panel on the right.

Note : In some cases when a password is required to read out the data content from the card, CardEasy will prompt you the verify password screen. User is required to present the correct password in order for the inspection of that particular area of card content.

Read	This button allow you to change the starting read address.

Write	This button allow you to perform the write-related functions

Keys	This button allow you to perform the keys-related functions

Properties	This button allow you to read/set various properties of the inserted card

Special	This button allow you to perform the card-specific special commands

Note : When the selected card area is larger than 32 bytes, you can use the scroll bar to select the particualr addresses that you want to read.


Memory Card (Write)

In this dialog box you are allowed to perform a write/update operation on the inserted card. You can use the start and length edit box to change the address and size of the update. The content shown in the windows is read directly from the card and you can change them to any other value at your will. The operation will be carried out on the card when you press “OK”

Depending on which card type you are working on, the available selections within the “Write options” are different accordingly. For example, if the inserted card type is SLE4442, you can use “Write protect the memory” to protect the card memory from writing again. If the inserted card type is SLE4436, you can use the “View counter” button to modify the counter value of the card.


Memory Card (Keys Verification)

In this dialog box you are allowed to perform the key verification and/or the key modification operation on the inserted card. Depending on the card types, different keys are selectable in the drop-down box. If the ACI_ChangePIN operation is allowed on this card type, the “New value” portion will be enabled and user are allowed to change the selected keys to another value.

Press OK will carry out the operation and Cancel will abort the verification


Memory Card (Properties)

This dialog box will help to show the properties associate with the selected card type. It is card type specific and different from card type to card type. For example, when the selected card type is AM256, the properties dialog box allow you to change the protected register. Please refer to the reference manual of that particular card type for the correct operation on this setting

Press “Update” will carry out the operation on the card and “Exit” will leave the dialog


Memory Card (Special)

This dialog box will help to show the special functions associate with the selected card type. It is card type specific and different from card type to card type. For example, when the selected card type is GPM896, the special dialog box allow you to voltage level on the fuse pin. Please refer to the reference manual of that particular card type for the correct operation of these functions


ACOS1 Card

When you selected the ACOS1 tab and press the reset button, you will see a list of user files under the ACOS1 root. Selecting a file will make the content displaying on the right. When keys are required to perform the read operation, user will prompted for the keys input.

For the detail architecture of ACOS1, please refer for the ACOS1 reference manual or contact Advanced Card Systems Ltd.


Commands

If you are familiar with the ACSR20 API, you can use this tabbed page to do whatever commands you want. A typical sequence of operation is as follow,

1. 	Start session (need to specify the card type)

2. 	ExchangeAPDU (need to specify CLA, INS, P1, P2, Lc, Le, and DataIn when necessary)

3. 	End session

If Lc is not equal to zero, you need to input the DataIn field.

You can see the execution result in the communication windows


About

The about page is invoked by selecting the “About” tag. It can help to determine the capabilities and status of the currently connected reader.

The meaning of the fields are self-explaintory except that the numbers’ meaning in the list of supporting card type can be found in the ACRXX reference manual


Communication Window

The communication window located in the lower part of the main window show the execution result of the reader command. A ‘<’ character in the first column indicating that there is data go into the reader and a ‘>’ character in the first column indicating that there is data go out from the reader. Normally when you perform an ExchangeAPDU command, it will consist of six bytes (CLA, INS, P1, P2, Lc, Le) of data going into the reader first and then followed by Lc bytes of DataIn when Lc is greater than zero. After the reader executed that command successfully, it will return two bytes of SW1, SW2 and then followed by Le bytes of DataOut when Le is greater than zero.


Terms of use and distribution
Terms of conditions of use

END USER LICENSE AGREEMENT FOR ACS SOFTWARE

IMPORTANT—READ CAREFULLY: This ACS End User License Agreement (“EULA”) is a legal agreement between you (either an individual or a single entity) and Advanced Card Systems Ltd. for the ACS Software product identified above, which includes computer software and associated media and printed materials, and may include “online” or electronic documentation (“SOFTWARE PRODUCT” or “SOFTWARE”)

. By installing, copying, or otherwise using the SOFTWARE PRODUCT, you agree to be bound by the terms of this EULA. If you do not agree to the terms of this EULA, promptly return the unused SOFTWARE PRODUCT to the place from which you obtained it for a full refund.

SOFTWARE PRODUCT LICENSE

The SOFTWARE PRODUCT is protected by copyright laws and international copyright treaties, as well as other intellectual property laws and treaties. The SOFTWARE PRODUCT is licensed, not sold.

1	GRANT OF LICENSE. This EULA grants you the following rights:

·	Software. You may install and use one copy of the SOFTWARE PRODUCT, or in its place, any prior version for the same operating system, on a single computer. The primary user of the computer on which the SOFTWARE PRODUCT is installed may make a second copy for his or her exclusive use on either a home or portable computer.

·	Storage/Network Use. You may also store or install a copy of the SOFTWARE PRODUCT on a storage device, such as a network server, used only to install or run the SOFTWARE PRODUCT on your other computers over an internal network; however, you must acquire and dedicate a license for each separate computer on which the SOFTWARE PRODUCT is installed or run from the storage device. A license for the SOFTWARE PRODUCT may not be shared or used concurrently on different computers.

·	License Pak. If you have acquired this EULA in a Microsoft License Pak, you may make the number of additional copies of the computer software portion of the SOFTWARE PRODUCT authorized on the printed copy of this EULA, and you may use each copy in the manner specified above. You are also entitled to make a corresponding number of secondary copies for home or portable computer use as specified above.

2	DESCRIPTION OF OTHER RIGHTS AND LIMITATIONS.

·	Limitations on Reverse Engineering, Decompilation, and Disassembly. You may not reverse engineer, decompile, or disassemble the SOFTWARE PRODUCT, except and only to the extent that such activity is expressly permitted by applicable law notwithstanding this limitation.

·	Separation of Components. The SOFTWARE PRODUCT is licensed as a single product. Its component parts may not be separated for use on more than one computer.

·	Rental. You may not rent or lease the SOFTWARE PRODUCT.

·	Software Transfer. You may permanently transfer all of your rights under this EULA, provided you retain no copies, you transfer all of the SOFTWARE PRODUCT (including all component parts, the media and printed materials, any upgrades, this EULA, and, if applicable, the Certificate of Authenticity), and the recipient agrees to the terms of this EULA. If the SOFTWARE PRODUCT is an upgrade, any transfer must include all prior versions of the SOFTWARE PRODUCT.

·	Termination. Without prejudice to any other rights, Microsoft may terminate this EULA if you fail to comply with the terms and conditions of this EULA. In such event, you must destroy all copies of the SOFTWARE PRODUCT and all of its component parts.

3	UPGRADES. If the SOFTWARE PRODUCT is an upgrade from another product, whether from Microsoft or another supplier, you may use or transfer the SOFTWARE PRODUCT only in conjunction with that upgraded product, unless you destroy the upgraded product. If the SOFTWARE PRODUCT is an upgrade of a Microsoft product, you now may use that upgraded product only in accordance with this EULA. If the SOFTWARE PRODUCT is an upgrade of a component of a package of software programs that you licensed as a single product, the SOFTWARE PRODUCT may be used and transferred only as part of that single product package and may not be separated for use on more than one computer.

4	COPYRIGHT. All title and copyrights in and to the SOFTWARE PRODUCT (including but not limited to any images, photographs, animations, video, audio, music, text, and “applets” incorporated into the SOFTWARE PRODUCT), the accompanying printed materials, and any copies of the SOFTWARE PRODUCT are owned by Microsoft or its suppliers. The SOFTWARE PRODUCT is protected by copyright laws and international treaty provisions. Therefore, you must treat the SOFTWARE PRODUCT like any other copyrighted material except that you may either (a) make one copy of the SOFTWARE PRODUCT solely for backup or archival purposes or (b) install the SOFTWARE PRODUCT on a single computer provided you keep the original solely for backup or archival purposes. You may not copy the printed materials accompanying the SOFTWARE PRODUCT.

5	DUAL-MEDIA SOFTWARE. You may receive the SOFTWARE PRODUCT in more than one medium. Regardless of the type or size of medium you receive, you may use only one medium that is appropriate for your single computer. You may not use or install the other medium on another computer. You may not loan, rent, lease, or otherwise transfer the other medium to another user, except as part of the permanent transfer (as provided above) of the SOFTWARE PRODUCT.

LIMITED WARRANTY

LIMITED WARRANTY. ACS warrants that (a) the SOFTWARE PRODUCT will perform substantially in accordance with the accompanying written materials for a period of ninety (90) days from the date of receipt, and (b) any hardware accompanying the SOFTWARE PRODUCT will be free from defects in materials and workmanship under normal use and service for a period of one (1) year from the date of receipt. Some states and jurisdictions do not allow limitations on duration of an implied warranty, so the above limitation may not apply to you. To the extent allowed by applicable law, implied warranties on the SOFTWARE PRODUCT and hardware, if any, are limited to ninety (90) days and one year, respectively.

CUSTOMER REMEDIES. ACS’s and its suppliers’ entire liability and your exclusive remedy shall be, at ACS’s option, either (a) return of the price paid, or (b) repair or replacement of the SOFTWARE PRODUCT or hardware that does not meet ACS’s Limited Warranty and which is returned to ACS with a copy of your receipt. This Limited Warranty is void if failure of the SOFTWARE PRODUCT or hardware has resulted from accident, abuse, or misapplication. Any replacement SOFTWARE PRODUCT or hardware will be warranted for the remainder of the original warranty period or thirty (30) days, whichever is longer. Outside the United States, neither these remedies nor any product support services offered by ACS are available without proof of purchase from an authorized international source.

NO OTHER WARRANTIES. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, ACS AND ITS SUPPLIERS DISCLAIM ALL OTHER WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, WITH REGARD TO THE SOFTWARE PRODUCT, AND ANY ACCOMPANYING HARDWARE. THIS LIMITED WARRANTY GIVES YOU SPECIFIC LEGAL RIGHTS. YOU MAY HAVE OTHERS, WHICH VARY FROM STATE/JURISDICTION TO STATE/JURISDICTION.

NO LIABILITY FOR CONSEQUENTIAL DAMAGES. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL ACS OR ITS SUPPLIERS BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR INABILITY TO USE THE SOFTWARE PRODUCT, EVEN IF ACS HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. BECAUSE SOME STATES AND JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES, THE ABOVE LIMITATION MAY NOT APPLY TO YOU.

Copyright © 1996-1997 Advanced Card Systems Ltd.  All rights reserved. ACS, ACR10, and ACR20 are trademarks of Advanced Card Systems Ltd. Information in this document is subject to change without notice.  Companies, names, and data used in examples herein are fictitious unless otherwise noted. No part of this document may be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without express written permission of Advanced Card Systems Ltd. The software described in this document are furnished under a license agreement or nondisclosure agreement. The software may be used or copied only in accordance with the terms of the agreement.  It is against the law to copy the software except as specifically allowed in the license or nondisclosure agreement.  No part of this document may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or information storage and retrieval systems, for any purpose other than the purchaser's personal use, without the express written permission of Advanced Card Systems Ltd.

Click here to return to the contents page


Troubleshooting

Occasionally, you will see some unexpected error codes return from CardEasy. The error return codes are always negative and usually appear in the communication windows. Try look up your error code with the following table and see whether you know what is going wrong or not.

Code	Meaning
-603	Error in the reader handle
-600	Session parameter is null
-108	No free handle left for allocation
-100	Selected port is invalid
-101	Selected reader is invalid
-102	Selected port is occupied
-1001	No card type selected
-1002	No card is inserted
-1003	Wrong card type
-1004	Card not powered up
-1005	INS is invalid
-1006	Card failure
-1007	Protocol error
-1008	Card type not supported
-1009	Incompatible command
-1010	Error in address
-1011	Data length error
-1012	Error in response length
-1013	Secret code locked
-1014	Invalid SC module number
-1015	Incorrect password
-1050	Error in CLA
-1051	Error in APDU parameters
-1052	Communication buffer is full
-1053	Address not align with word boundary
-1080	Protocol frame error
-1081	No response from reader
-1082	Error found in the calling function’s parameters
-1099	Unknown response

If you still cannot solve your problem, please contact our people for the technical support


Technical Support

Our software is improving continuously. If you notice any bugs or irregular behavior of the software, please feel free to contact us at the following address.

Advanced Card Systems Ltd.

Rm 1520, Chevalier Commercial Centre,

8 Wang Hoi Road, Kowloon Bay,

Kowloon, Hong Kong.

Tel : (852) 2796 7873

Fax : (852) 2796 1286

Email : waihung@acs.com.hk

Contact person : Mr. Lin Wai Hung

To report a problem, please specify the detail of your running environment and the condition at which your problem will be happened.

You can download the latest copy of our software from our web site :

http://www.acs.com.hk

All comments are welcome and we are sincerely to serve you.


Ordering ACR reader
Ordering infrormation

For the ordering of the ACR10 / ACR15 / ACR20 smart card reader, please contact Advanced Card Systems Ltd. at the following address:

Advanced Card Systems Ltd.

Rm 1520, Chevalier Commercial Centre,

8 Wang Hoi Road, Kowloon Bay,

Kowloon, Hong Kong.

Tel : (852) 2796 7873

Fax : (852) 2796 1286

Email : simonliu@acs.com.hk

Contact person : Mr. Simon Liu (Marketing Manager)

You can download the latest copy of our software from our web site :

http://www.acs.com.hk

All comments are welcome and we are sincerely to serve you.